package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import vista.VentanaConsultarRegalosObsequiados;
import vista.VentanaListadoObsequioModeloTabla;


import modelo.Evento;
import modelo.EventoDAO;
import modelo.ListaObsequio;
import modelo.Obsequio;
import modelo.ObsequioDAO;
import modelo.Organizacion;
import modelo.Producto;

public class ControladorVentanaConsultarRegalosObsequiados implements ActionListener {

	private VentanaConsultarRegalosObsequiados ventanaConsultarRegalosObsequiados;
	 private Evento evento;
	 private Organizacion organizacion;
	 private Producto miproducto;
	 private ListaObsequio listaObsequios;
	 private ArrayList<Obsequio> obsequio = new ArrayList();
	// private ArrayList<Invitado> invitados = new ArrayList();
	 
	
	 private ObsequioDAO obsequioDao;
	 private EventoDAO eventoDao;
	
	public ControladorVentanaConsultarRegalosObsequiados(
			Organizacion organizacion) {
		// TODO Auto-generated constructor stub
		
			ventanaConsultarRegalosObsequiados =  new VentanaConsultarRegalosObsequiados();
			ventanaConsultarRegalosObsequiados.setLocationRelativeTo(null);
			ventanaConsultarRegalosObsequiados.setVisible(true);	
			ventanaConsultarRegalosObsequiados.agregarListener(this);
			this.organizacion = organizacion;
		
			//this.ventanaConsultarRegalosObsequiados.setListadoObsequios(new VentanaListadoObsequioModeloTabla(invitados, 0));		
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
		if (e.getActionCommand().equalsIgnoreCase("Buscar")){
			
			buscarEvento();
			
	  }  else if (e.getActionCommand().equalsIgnoreCase("Salir")){
			
			this.ventanaConsultarRegalosObsequiados.dispose();
			
		} else if (e.getActionCommand().equalsIgnoreCase("Limpiar")){
			
			this.ventanaConsultarRegalosObsequiados.limpiarCampos();
			//this.ventanaConsultarRegalosObsequiados.setListadoObsequios(new VentanaListadoObsequioModeloTabla(invitados, 0));		
			
			
		}
 
	}

	private void buscarEvento() {
		
		if(this.ventanaConsultarRegalosObsequiados.getTxtCodigoConsulta().equalsIgnoreCase("")){
			
			this.ventanaConsultarRegalosObsequiados.mostrarMensaje("Debe Ingresar el codigo");
		
		} else {
			
			String codigo;
			codigo = this.ventanaConsultarRegalosObsequiados.getTxtCodigoConsulta();
			int indice, nroRegalos;
			
			//indice = this.organizacion.buscarEvento(codigo);
			
			eventoDao = new EventoDAO();
			evento = eventoDao.buscarEvento(codigo);
			
			//if (indice < 0){
			if (evento == null) {	
				
				this.ventanaConsultarRegalosObsequiados.mostrarMensaje("El Evento no Existe");
				
			} else {
		   		// invitados =  this.organizacion.getUnaEvento(indice).nroInvitadoRegalos();
		   		 //nroRegalos = this.organizacion.getUnaEvento(indice).nroRegalos();
				
				ArrayList<Obsequio> obseq;
				ArrayList<String> strines;
				
				//obseq = this.organizacion.getEventos().get(indice).getRegalos();
		   		 
				obsequioDao = new ObsequioDAO();
				 obseq = obsequioDao.consultarObsequio(codigo);
		   		 
				 obsequioDao = new ObsequioDAO();
				 strines = obsequioDao.consultarPersonaObsequio(codigo);
				 
				 this.ventanaConsultarRegalosObsequiados.setListadoObsequios(new VentanaListadoObsequioModeloTabla(obseq, strines));		
				 
				 this.ventanaConsultarRegalosObsequiados.habilitarCodigo(false);
			
			}	
		}
		
	}

}